import re
infor = """
2138675509
 (213)8675509
213.867.5509
(213)-867-5509
1(213)867-5509
+1-213-867-5509
"""

# 目标数据：编写一个正则能匹配所有的号码
numb_end = re.findall(r'([0-9])',infor)
infor2 = """
 张伟         1996.8.24
   王伟      1993年10月21日
 王芳         1997-7-24
   李伟       1996.3.21
   王秀英        1991.12.0
   李秀英     1994-7-5
   李娜       1999.1.28
   张秀英        1998-2-24   刘伟     1996.5.28      张敏      1996.10.26
  李静      1993年1月6日
   张丽        1992.5.21     王静  1998-5-1
    王丽   1994-4-14
   李强  1993.8.13
   张静          1998年1月5日   李敏    1993-8-21
   王敏      1997-3-7
   王磊     1999-3-18
  李军         1990-12-18
    刘洋   1995年5月7日
"""

# 提取所有日期
# print(re.findall(r'19[0-9]{2}[ .-年][0-9]{1,2}[ .-月][0-9]{1,2}[日]?',infor2))
# 提取所有 1996 年以前出生的学生
# print(re.findall(r'(\w{2,3}).+?199[0-5]{1}[.\-年][0-9]{1,2}[.\-月][0-9]{1,2}[日]?',infor2))
# 重新排版 要求以：张伟： 1990 年 9 月 15 日 格式
# print(re.sub(r'([0-9]{1,2}[日]?)[\s\n\t]+',r'\1\n',infor2))
#print(re.sub(r'([张王刘李]\S{1,2})(19[0-9]{2})[ .\-年]([0-9]{1,2})[ .\-月]([0-9]{1,2})[日]?',r'\1：\2年\3月\4日',re.sub(r'([0-9]{1,2}[日]?)[\s\n\t]+',r'\1\n',infor2).replace(" ","")))
# 把所有 1996 年以前出生的学生出生年份改为 1996 并排版
#print(re.sub(r'199[0-5]{1}',r'1996',re.sub(r'([张王刘李]\S{1,2})(19[0-9]{2})[ .\-年]([0-9]{1,2})[ .\-月]([0-9]{1,2})[日]?',r'\1：\2年\3月\4日',re.sub(r'([0-9]{1,2}[日]?)[\s\n\t]+',r'\1\n',infor2).replace(" ",""))))
# 提取生日 格式：张伟的生日是11月15号
#print(re.sub(r'([张王刘李]\S{1,2})(19[0-9]{2})[ .\-年]([0-9]{1,2})[ .\-月]([0-9]{1,2})[日]?',r'\1的生日是\3月\4号',re.sub(r'([0-9]{1,2}[日]?)[\s\n\t]+',r'\1\n',infor2).replace(" ","")))

# 邮箱验证
# print(re.search(r'[a-zA-Z0-9]+@[a-zA-Z0-9]+\.(?![0-9])[a-zA-Z]+(?![0-9])$',"ma90356w9@qq.top"))
# 密码强度验证（最少八个字符，至少一个大写字母，一个小写字母和一个数字）先行断言
password1 = "aaaBBB"
password2 = "1213asdvasd"
password3 = "adasdASDsad"
password4 = "maZx1231"
# print(re.search(r'.*(?=[a-zA-Z0-9]).*',"!@#as"))
# print(re.search(r'(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^\n]{8,}',password4))

# 18 位身份证号验证
print(re.findall())
# IP 地址验证

# 手机号验证